import store from './store'
import ElementUI from 'element-ui'
import axios from 'axios'


// 配置开发环境还是生产环境
// axios.defaults.baseURL = process.env.NODE_ENV === "development"?'http://localhost:10100/':'http://llocalhost:10100/'
axios.defaults.baseURL = "/api"

//axios请求前拦截
axios.interceptors.request.use((config) => {
    // console.log('config',config)
    return config
})

// axios请求后拦截
axios.interceptors.response.use(
    // 如果返回的状态码为200，说明接口请求成功，可以正常拿到数据
    response => {
        const code = response.data.code
        // const code = response.status
        //请求成功则执行放行
        if (code === 1001) {
            return response
        } else {
            ElementUI.Message({
                showClose: true,
                message: response.data.message,
                type: 'error',
                duration: 2 * 1000
            });
            // 直接拒绝往下面返回结果信息
            return Promise.reject(response.data.message ? response.data.message : '系统异常')
        }
    },
    // 否则的话抛出错误
    error => {
        // console.log('error1',error.response)
        if (error.response.data) {
            error.message = error.response.data.message
        }
        // 根据请求状态觉得是否登录或者提示其他
        if (error.response.status === 401) {
            store.commit("REMOVE_INFO")
            router.push('/login')
            error.message = "请重新登录"
        } else if (error.response.status === 403) {
            error.message = "权限不足，无法访问"
        }
        ElementUI.Message({
            showClose: true,
            message: error.message,
            type: 'error'
        });
        return Promise.reject(error)
    }
)
